﻿// -----------------------------------------------------------------------
// <copyright file="IPlaylistView.cs" company="Abyssalsoft">
// TODO: Update copyright text.
// </copyright>
// -----------------------------------------------------------------------

namespace Metal.Player.Playlist
{
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Windows.Forms;

    /// <summary>
    /// Playlist interface class used to communicate with the mask
    /// </summary>
    public interface IPlaylistView : Gui.BaseMask.IBaseInterface
    {
        /// <summary> This event occurs when some files / folders are dropped in playlist </summary>
        event DragEventHandler ListDragDrop;

        /// <summary> Gets or sets our playlist dataset </summary>
        System.Data.DataSet ListDataSet { get; set; }

        /// <summary> Gets or sets the dataset that contains our list of playlists </summary>
        System.Data.DataSet PlaylistsDataSet { get; set; }

        /// <summary> Gets selected row </summary>
        DataGridViewRow ListSelectedRow { get; }

        /// <summary> Gets selected row </summary>
        DataGridViewRow PlaylistsSelectedRow { get; }

        /// <summary> Gets or sets a value indicating whether the list with playlists is visible or not </summary>
        bool PlaylistsVisible { get; set; }

        /// <summary> Sets the selected row </summary>
        int SelectPlaylistsRow { set; }

        /// <summary> Sets the selected row </summary>
        int SelectListRow { set; }

        int ScrollListToIndex { set; }
    }
}
